// 引入vue
import Vue from 'vue'
// 引入vuex
import Vuex from 'vuex'

// 把vbuex注册为vue插件
Vue.use(Vuex)

// 使用vuex，在这里面设置vuex
export default new Vuex.Store({
  // 全局数据
  state: {
    // 用户信息，后面鉴权会使用
    // 获取浏览器持久化数据中的user-cwn，转换成对象存起来，并且如果没有的话用空对象替代
    user: JSON.parse(window.localStorage.getItem('user-cwn')) || null
  },
  // 方法
  mutations: {
    // 添传入数据做本地持久化
    setUserInfo (state, obj) {
      // 不管怎样先把数据存进user一份，否则会导致第一次登陆卡在登陆界面（别问我怎么知道的）
      state.user = JSON.parse(obj.content)
      // 直接把传入进来的数据中的content持久化道本地浏览器，这样就可以保证刷新页面数据不会丢失
      window.localStorage.setItem('user-cwn', obj.content)
    },
    // 用于用户退出
    logout (state) {
      // 向localStorage传空值
      window.localStorage.setItem('user-cwn', null)
      // 清空user
      state.user = null
    }
  },
  // 异步处理
  actions: {
  },
  modules: {
  }
})
